# 基础示例

from htemplate.View import View

# 创建视图对象
view = View({
        # 自定义模板根目录
        'tplPath':'/home/xfw/work/python/hehey/apps/site/template/',
});

data = {
    'title': '基础示例',
    'users': [
        {"userid":1,"realName":"hehe"},
        {"userid":2, "realName":"xixi"},
        {"userid": 3, "realName": "难受!"},
    ],
    'stuNames': {"userid":1,"realName":"小红薯"},
    "age": 3,
}

# 注入模板变量
view.assign('title',"从您的世界路过?")

html = view.fetch('index',data)

# 模板参数详细
conf = {
        # 模板文件扩展名
        "suffix":'html',
        # 模板文件根路径
        "tplPath":'',
        # 是否开启模板缓存,开启后,会自动缓存代码,加快模板解析的速度
        "onCache": True,
        # 模板缓存文件目录,模板编译的python代码缓存在文件中,缓存文件存储此目录中
        "cachePath":'',
        # 资源地址,比如js,css,img,默认提供static(静态资源路径),res(外部资源,比如上传的文件) 字典key
        "urls" : {},
        # 模板缓存有效期,单位秒,0 表示无有效期
        "timeout" : 3,
        # 表达式起始符
        "expStart" : '{',
        # 表达式结束符
        "expEnd":'}',
        # 结束表达式的结束符比如/ 则完整表达式为{/for} 或end,{endfor}
        "expEndSign" : '/',
        # 是否启用标签规则,开启后,匹配表达式 <import name="eduhome.name.yong" />
        "onTag" : True,
        # 标签起始符
        "tagStart" : '<',
        # 标签结束符
        "tagEnd" : '>',
        # 结束标签结束符号
        "tagEndSign" :'/',
        # 系统标签,默认自动加载sys 表达式,默认标签,书写时无需写入前缀,比如<css href="xxx" />
        "sysTags" : [],
        # 自定义标签,书写时必须写入前缀,比如 标签名称html,则css 标签的书写规则为: <html:css href="xxx" />
        "customTags" : [],
};

# 自定义过滤器
from htemplate import reg_temp_filter

@reg_temp_filter()
def css(self,cssUrl):

    return  '{0}{1}'.format(self.template.urls['static'],cssUrl)

@reg_temp_filter()
def safe(value):

    return  r"{0}".format(value) + '-safe'

# 自定义上下文
from htemplate import reg_temp_context

@reg_temp_context()
def django():

    return {"reqeust":{"mok":88}}